home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.convert;
-
- import com.extensibility.app.DialogFactory;
- import com.extensibility.app.UI;
- import com.extensibility.rock.FileLoader;
- import com.extensibility.rock.RDialog;
- import com.extensibility.rock.Screen;
- import com.extensibility.xa.XADialogFactory;
- import com.extensibility.xa.XAUI;
- import java.awt.Container;
- import java.awt.Dialog;
- import java.awt.Font;
- import java.awt.Frame;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Insets;
- import java.awt.Window;
- import java.io.File;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
- import javax.swing.BorderFactory;
- import javax.swing.Box;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JComponent;
- import javax.swing.JDialog;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
-
- public class BaseImportDialog extends RDialog {
- static boolean asElements = true;
- static boolean recurse = false;
- static boolean shortNames = true;
- static boolean qualify = true;
- JLabel art;
- JLabel lblImporter;
- JComboBox cbImporter;
- JTextArea txtMessage;
- JLabel lblSource;
- JTextField fldSource;
- JLabel lblName;
- JTextField fldName;
- JLabel lblPassword;
- JPasswordField fldPassword;
- JButton btnImport;
- JButton btnCancel;
- JButton btnChoose;
- JButton btnOptions;
- boolean canceled = true;
- Hashtable importers = new Hashtable();
- private static Vector userImporters;
-
- public BaseImportDialog(Frame var1) {
- super(var1, true);
- Enumeration var2 = getUserImporters().elements();
-
- while(var2.hasMoreElements()) {
- MetaSpectIntf var3 = (MetaSpectIntf)var2.nextElement();
- this.importers.put(var3.getPrompt(1), var3);
- }
-
- this.prepare(true);
- }
-
- public BaseImportDialog(Frame var1, MetaSpectIntf var2) {
- super(var1, true);
- this.importers.put(var2.getPrompt(1), var2);
- this.prepare(false);
- }
-
- public MetaSpectIntf getSelectedImporter() {
- return this.getMSI((String)this.cbImporter.getSelectedItem());
- }
-
- public static Vector getUserImporters() {
- if (userImporters != null) {
- return userImporters;
- } else {
- userImporters = new Vector();
- addImporters(XAUI.getImportersDirectory());
- return userImporters;
- }
- }
-
- private static void addImporters(File var0) {
- if (var0.exists()) {
- String[] var1 = var0.list();
-
- for(int var2 = 0; var2 < var1.length; ++var2) {
- File var3 = new File(var0, var1[var2]);
- if (var3.isDirectory()) {
- addImporters(var3);
- }
-
- FileLoader var4 = new FileLoader(var3);
- int var5 = var1[var2].indexOf(".class");
- if (var5 >= 0 && var1[var2].indexOf(36) < 0) {
- String var6 = var1[var2].substring(0, var5);
-
- try {
- Class var7 = ((ClassLoader)var4).loadClass(var6);
- Object var8 = var7.newInstance();
- if (var8 instanceof MetaSpectIntf) {
- userImporters.addElement(var8);
- }
- } catch (NoSuchMethodError var9) {
- } catch (ClassNotFoundException var10) {
- } catch (IllegalAccessException var11) {
- } catch (InstantiationException var12) {
- }
- }
- }
-
- }
- }
-
- private final MetaSpectIntf getMSI(String var1) {
- return (MetaSpectIntf)this.importers.get(var1);
- }
-
- public boolean userCanceled() {
- return this.canceled;
- }
-
- protected String[] getImporters() {
- String[] var1 = new String[this.importers.size()];
- Enumeration var2 = this.importers.keys();
-
- for(int var3 = 0; var2.hasMoreElements(); var1[var3++] = (String)var2.nextElement()) {
- }
-
- return var1;
- }
-
- protected void setImporter(String var1) {
- this.txtMessage.setText(this.getMSI(var1).getPrompt(2));
- ((Dialog)this).setTitle(var1);
- ((Window)this).pack();
- }
-
- protected void prepare(boolean var1) {
- Font var2 = (new JLabel()).getFont();
- this.art = new JLabel(UI.getIcon("import.gif"));
- this.art.setBorder(BorderFactory.createLoweredBevelBorder());
- this.lblImporter = new JLabel(UI.getString("dialog.import.lbl.importer"));
- this.cbImporter = new JComboBox(this.getImporters());
- this.cbImporter.addActionListener(new 1(this));
- this.txtMessage = UI.createStaticTextArea(UI.getString("dialog.import.txt.message"));
- this.txtMessage.setSize(256, 100);
- this.txtMessage.setBackground(((JDialog)this).getContentPane().getBackground());
- this.txtMessage.setLineWrap(true);
- this.txtMessage.setWrapStyleWord(true);
- this.txtMessage.setFont(var2);
- this.txtMessage.setMargin(new Insets(4, 4, 4, 4));
- this.txtMessage.setEditable(false);
- this.lblSource = new JLabel(UI.getString("dialog.import.lbl.source"));
- this.fldSource = UI.createTextField();
- this.lblName = new JLabel(UI.getString("dialog.import.lbl.name"));
- this.fldName = UI.createTextField();
- this.lblPassword = new JLabel(UI.getString("dialog.import.lbl.password"));
- this.fldPassword = UI.createPwdField();
- this.btnImport = new JButton(UI.getString("dialog.import"));
- this.btnImport.addActionListener(new 2(this));
- this.btnImport.setMnemonic(UI.getMnemonic("dialog.import"));
- this.btnCancel = new JButton(UI.getString("dialog.cancel"));
- this.btnCancel.addActionListener(new 3(this));
- this.btnCancel.setMnemonic(UI.getMnemonic("dialog.cancel"));
- this.btnChoose = new JButton(UI.getString("dialog.browse"));
- Font var3 = this.btnChoose.getFont();
- this.btnChoose.setFont(new Font(var3.getName(), var3.getStyle(), 10));
- this.btnChoose.addActionListener(new 4(this));
- this.btnChoose.setMnemonic(UI.getMnemonic("dialog.browse"));
- this.btnOptions = new JButton(UI.getString("dialog.options"));
- this.btnOptions.addActionListener(new 5(this));
- this.btnOptions.setMnemonic(UI.getMnemonic("dialog.options"));
- ((JDialog)this).getContentPane().setLayout(new GridBagLayout());
- GridBagConstraints var4 = new GridBagConstraints();
- var4.insets = new Insets(24, 24, 8, 0);
- var4.gridx = 0;
- var4.gridy = 0;
- var4.gridheight = 2;
- var4.anchor = 17;
- ((JDialog)this).getContentPane().add(this.art, var4);
- var4.gridheight = 1;
- var4.insets.right = 16;
- var4.insets.left = 16;
- var4.gridx = 1;
- var4.gridy = 0;
- var4.fill = 2;
- var4.anchor = 17;
- var4.weightx = (double)1.0F;
- if (var1) {
- ((JDialog)this).getContentPane().add(this.cbImporter, var4);
- }
-
- var4.gridx = 1;
- var4.gridy = 1;
- var4.fill = 1;
- var4.anchor = 10;
- var4.weighty = (double)1.0F;
- JPanel var5 = new JPanel(new GridBagLayout());
- ((JComponent)var5).setBorder(BorderFactory.createEtchedBorder());
- ((JDialog)this).getContentPane().add(var5, var4);
- var4.fill = 2;
- var4.weighty = (double)0.0F;
- var4.anchor = 13;
- var4.gridx = 1;
- var4.gridy = 2;
- var4.insets.top = 8;
- var4.insets.bottom = 16;
- var4.fill = 0;
- var4.anchor = 13;
- Box var6 = Box.createHorizontalBox();
- ((Container)var6).add(this.btnOptions);
- ((Container)var6).add(Box.createHorizontalStrut(32));
- ((Container)var6).add(this.btnCancel);
- ((Container)var6).add(Box.createHorizontalStrut(12));
- ((Container)var6).add(this.btnImport);
- ((JDialog)this).getContentPane().add(var6, var4);
- var4.insets = new Insets(8, 8, 0, 8);
- var4.gridx = 0;
- var4.gridy = 0;
- var4.gridwidth = 2;
- var4.fill = 1;
- var4.weightx = (double)1.0F;
- var4.weighty = (double)1.0F;
- var4.insets.bottom = 8;
- ((Container)var5).add(this.txtMessage, var4);
- var4.insets.bottom = 0;
- var4.weightx = (double)0.0F;
- var4.weighty = (double)0.0F;
- var4.gridwidth = 1;
- var4.fill = 0;
- var4.anchor = 13;
- var4.gridx = 0;
- var4.gridy = 1;
- ((Container)var5).add(this.lblSource, var4);
- var4.gridy = 3;
- ((Container)var5).add(this.lblName, var4);
- var4.gridy = 4;
- ((Container)var5).add(this.lblPassword, var4);
- var4.weightx = (double)1.0F;
- var4.weighty = (double)0.0F;
- var4.gridwidth = 1;
- var4.fill = 2;
- var4.anchor = 13;
- var4.gridx = 1;
- var4.gridy = 1;
- ((Container)var5).add(this.fldSource, var4);
- var4.gridy = 2;
- var4.insets.top = 2;
- var4.anchor = 13;
- var4.fill = 0;
- var4.anchor = 17;
- var4.fill = 2;
- var4.insets.top = 8;
- var4.gridy = 3;
- ((Container)var5).add(this.fldName, var4);
- var4.insets.bottom = 8;
- var4.gridy = 4;
- ((Container)var5).add(this.fldPassword, var4);
- ((Window)this).pack();
- Screen.centerInScreen(this);
- }
-
- protected void doChoose() {
- File var1 = DialogFactory.askFile(this, UI.getString("dialog.import.browse.title"), (String[])null);
- this.fldSource.setText(var1.getPath());
- }
-
- protected void doImport() {
- if (this.fldSource.getText().length() == 0) {
- DialogFactory.stop(this, UI.getString("stop.source.required"));
- this.fldSource.requestFocus();
- } else {
- this.canceled = false;
- ((Window)this).dispose();
- }
- }
-
- protected void doOptions() {
- boolean[] var1 = XADialogFactory.askImportOptions(this, asElements, recurse, qualify, shortNames);
- if (var1 != null) {
- asElements = var1[0];
- recurse = var1[1];
- qualify = var1[2];
- shortNames = var1[3];
- }
- }
-
- public boolean getAsElements() {
- return asElements;
- }
-
- public void setAsElements(boolean var1) {
- asElements = var1;
- }
-
- public boolean getRecurse() {
- return recurse;
- }
-
- public void setRecurse(boolean var1) {
- recurse = var1;
- }
-
- public boolean getShortNames() {
- return shortNames;
- }
-
- public void setShortNames(boolean var1) {
- shortNames = var1;
- }
-
- public boolean getQualifyNames() {
- return qualify;
- }
-
- public void setQualifyNames(boolean var1) {
- qualify = var1;
- }
-
- protected void doCancel() {
- ((Window)this).dispose();
- }
-
- public void addNotify() {
- super.addNotify();
- this.setImporter((String)this.cbImporter.getSelectedItem());
- this.fldSource.requestFocus();
- ((RDialog)this).installEscape(this.btnCancel);
- ((RDialog)this).installDefault(this.btnImport);
- ((RDialog)this).installDefault(this.fldSource);
- ((RDialog)this).installDefault(this.fldName);
- ((RDialog)this).installDefault(this.fldPassword);
- }
-
- public String getSource() {
- return this.fldSource.getText();
- }
-
- public String getUser() {
- return this.fldName.getText();
- }
-
- public String getPassword() {
- return new String(this.fldPassword.getPassword());
- }
- }
-